package com.panasonic.web.service;

import com.panasonic.web.domain.cms.CmsPermission;
import com.panasonic.web.domain.cms.CmsUser;

import java.util.List;
import java.util.Set;

/**
 * 权限Service接口
 * 
 * @author lwf
 * @date 2021-11-13
 */
public interface ICmsPermissionService 
{
    /**
     * 查询权限
     * 
     * @param id 权限ID
     * @return 权限
     */
    public CmsPermission selectCmsPermissionById(Long id);

    /**
     * 查询权限列表
     * 
     * @param cmsPermission 权限
     * @return 权限集合
     */
    public List<CmsPermission> selectCmsPermissionList(CmsPermission cmsPermission);

    /**
     * 新增权限
     * 
     * @param cmsPermission 权限
     * @return 结果
     */
    public int insertCmsPermission(CmsPermission cmsPermission);

    /**
     * 修改权限
     * 
     * @param cmsPermission 权限
     * @return 结果
     */
    public int updateCmsPermission(CmsPermission cmsPermission);

    /**
     * 批量删除权限
     * 
     * @param ids 需要删除的权限ID
     * @return 结果
     */
    public int deleteCmsPermissionByIds(Long[] ids);

    /**
     * 删除权限信息
     * 
     * @param id 权限ID
     * @return 结果
     */
    public int deleteCmsPermissionById(Long id);

    /**
     * 获取权限列表
     * @param user
     * @return
     */
    Set<String> getMenuPermission(CmsUser user);
}
